This invention relates generally to data analysis, and, more specifically to a techniques for searching for music via examples.
Audio data is becoming an increasingly important part of Internet commerce.
Based on statistics from search engines such as HotBot and Altavista, the Web concurrently contains about 2 million audio files and the number is growing at a rapid pace. Most of the audio files stores music content, used for various purposes ranging from simply enhancing the multimedia presence of Web sites, to promotion of music product such as new songs and CDs from major content label to small independent label. It is evident that the online music content will play an increasingly important role in online music distribution (e.g., CDNow, Amazon, Music Blvd, etc) and online entertainment (e.g., netradio).
Currently, however, there are no tools available that enable the users to effectively search music content. Some search engines and Web sites offer search capabilities for audio files, but the users can only search them using text queries. This is insufficient because acoustic features and properties of a piece of music cannot be easily described by text. For example, if you listen to a song and particularly enjoyed the melody, and would like find more songs with a similar melody, there are no tools available to perform such a search, since, this kind of search cannot be done using text queries. In addition, the graphic user interfaces for text searching tools are typically very rudimentary and do not allow for complex or compound queries, in most cases.
Accordingly, a need exists for a system and method whereby users may search for musical pieces using structural information of sample pieces as the search query profile.
Accordingly, a need exists for a system and method whereby users may search for musical pieces using structural information of multiple sample pieces with a complex search query profile.
Accordingly, a need exists for a system and method whereby users may visually build complex query profiles for musical searches from the structural information of one or more musical pieces.
According to the invention, a system and method enables users to visually build complex query profiles from the structural information of one or more musical pieces, the complex query profiles useful for performing searches for musical pieces matching the structural information in the query profile. With the inventive system, the user supplies an existing piece of music, or some components thereof, as query arguments, and lets the music search engine find music that is similar to the given sample by certain similarity measurement.
The system comprises a graphical user interface (GUI) integrated with a music player and a music analyzer. The GUI enables the user to search music by using an existing song or components of a song and the relationship between selected components. The integration of the query interface with a music player allows the user to sample and adjust the formation of the query interactively. The function of the music player is to interpret the music semantics of the data format and render the content through an audio engine. The music analyzer also understands the format of the music data and performs a structural analysis of the content based on the type of the music and structural properties of the music as described by the existing music theories. The music analyzer decomposes a piece of music (song or only part of a song) into a sequence of structural sub-components. The sequence of structural components generated by the music analyzer serves as the basic components for formulating the query. The GUI displays these components in a visual form, which is clear and easy to understand for the users, providing the basic functionality for the user to select the components and define the relation among the selected components to serve as the query input. The inventive system also provides a flexible query expansion mechanism that allow the user to combine content from different multiple pieces of existing music to form powerful complex queries to find the desired music.
According to one aspect of the present invention, a method for creating queries useful in searching for musical content comprises: (a) receiving data defining at least a first musical piece; (b) decomposing the first musical piece into a structural representation of the first musical piece; (c) displaying the structural representation of the first musical piece; (d) receiving selection criteria identifying at least a portion of the structural representation of the first musical piece; and (e) creating a query profile from the identified portion of the structural representation of the first musical piece.
According to a second aspect of the invention, a computer program product for use with a computer apparatus comprises: (a) program code configured to receive data defining at least a first musical piece; (b) program code configured to decompose the first musical piece into a structural representation of the first musical piece; (c) program code configured to display the structural representation of the first musical piece; (d) program code configured to receive selection criteria identifying at least a portion of the structural representation of the first musical piece; and (e) program code configured to create a query profile from the identified portion of the structural representation of the first musical piece.
According to a second third aspect of the invention, an apparatus for creating queries useful in searching for musical content comprises: (a) a music analyzer configured to receive computer-readable data representing a first musical piece and configured to generate from the computer-readable data a plurality of components representing structural elements of the musical piece; (b) a user interface configured to display the structural representation of the first musical piece; (c) program logic coupled to the user interface and configured to receive selection criteria identifying at least a portion of the structural representation of the first musical piece; and (d) a query generator is configured to create a query profile from the identified portion of the structural representation of the first musical piece.